﻿using SlamDunk.ValueObjects.Enums;
using System;

namespace SlamDunk.MES.DataDrive.Bussiness.Models.StockContext
{
    /// <summary>
    /// 出库单明细
    /// </summary>
    public class StockOutOrderDetail
    {
        public string 出库单编号 { get; set; }
        public string 物料定义编号 { get; set; }
        public string 物料定义名称 { get; set; }
        public bool 是否按批次管理 { get; set; }
        public string 供应商编号 { get; set; }
        public string 供应商名称 { get; set; }
        public string 生产批号 { get; set; }
        public string 生产日期 { get; set; }
        public string 保质期 { get; set; }
        public string 过期日期 { get; set; }
        public string 接收日期 { get; set; }
        public string 规格 { get; set; }
        public string 物料来源 { get; set; }
        public decimal 数量 { get; set; }
        public int 排序 { get; set; }
        public string 描述 { get; set; }
        internal TimeSpan GuaranteePeriod { get; set; }
        internal MaterialSourceType MaterialSourceType { get; set; }
        public void ConverterValue()
        {
            if (!string.IsNullOrWhiteSpace(this.保质期))
            {
                int days = int.Parse(this.保质期);
                this.GuaranteePeriod = TimeSpan.FromDays(days);
            }
            if (!string.IsNullOrWhiteSpace(this.物料来源))
            {
                this.MaterialSourceType = (MaterialSourceType)Enum.Parse(typeof(MaterialSourceType), this.物料来源.Substring(0, this.物料来源.IndexOf("(", StringComparison.Ordinal)));
            }
        }
    }
}
